package com.itheima.stringbuilder_demo;
/*
    StringBuilder  : 在单线程中效率较高 , 但是在多线程中不能保证数据的安全性
    StringBuffer   : 在单线程效率较低 , 但是在多线程中StringBuffer可以保证数据的安全性


    构造方法 :
        public StringBuilder()  : 创建一个空的容器
        public StringBuilder(String str) : 创建一个具有初始化内容的容器
    成员方法 :
        public StringBuilder append(任意类型) : 往容器中添加元素的方法
        public int length() : 返回的是容器中字符的个数
        public StringBuilder reverse() : 对容器中的内容进行反转
        public String toString() : 把StringBuilder转成字符串
 */
public class StringBuilderDemo2 {
    public static void main(String[] args) {
        // 空的容器
        StringBuilder sb = new StringBuilder();

        // public StringBuilder append(任意类型) : 往容器中添加元素的方法 , 返回自身对象
        // sb.append(123);
        // sb.append("abc");
        // sb.append(true);
        // StringBuilder newSb = sb.append(1.12);
        // System.out.println(sb == newSb);// true

        // 链式编程
        sb.append(100).append(true).append("abc");

        // public int length() : 返回的是容器中字符的个数
        // System.out.println(sb.length());

        // 100trueabc
        // public StringBuilder reverse() : 对容器中的内容进行反转
        sb.reverse();
        // cbaeurt001

        System.out.println(sb);
    }

    public static void method() {
        //  public StringBuilder()  : 创建一个空的容器
        StringBuilder sb = new StringBuilder();
        System.out.println("sb:" + sb); // 内容

        System.out.println("===============");

        // public StringBuilder(String str) : 创建一个具有初始化内容的容器
        StringBuilder sb2 = new StringBuilder("abc");
        System.out.println("sb2:" + sb2); // abc
    }
}
